package com.primb.bench.project.home.entity;

import android.os.Parcel;
import android.os.Parcelable;

import com.primb.bench.project.search.entity.ProcessEntity;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Chen on 2017/5/9.
 * 功能描述：贷款测算信息实体类
 */

public class LoanCalculateInfoEntity implements Parcelable {
    /**
     * 定价标识信息
     */
    private  LogoInfoEntity logoInfoEntity;

    /**
     * 客户基本信息
     */
    private  ClientInfoEntity clientInfoEntity;

    /**
     * 贷款基本信息
     */
    private LoanInfoEntity loanInfoEntity;

    /**
     * 担保信息
     */
    private EnsureInfoEntity ensureInfoEntity;

    /**
     * 税收信息
     */
    private TaxInfoEntity taxInfoEntity;

    /**
     * 定价测算结果
     */
   private HttpResultEntity.DataBean resultInfoEntity;

    /**
     * 承诺场景
     */
    private PromiseApplyEntity promiseApplyEntity;

    private List<ProcessEntity> processList;

    private String backReason;

    public String getBackReason() {
        return backReason;
    }

    public void setBackReason(String backReason) {
        this.backReason = backReason;
    }

    public List<ProcessEntity> getProcessList() {
        return processList;
    }

    public void setProcessList(List<ProcessEntity> processList) {
        this.processList = processList;
    }

    public PromiseApplyEntity getPromiseApplyEntity() {
        return promiseApplyEntity;
    }

    public void setPromiseApplyEntity(PromiseApplyEntity promiseApplyEntity) {
        this.promiseApplyEntity = promiseApplyEntity;
    }

    public LogoInfoEntity getLogoInfoEntity() {
        return logoInfoEntity;
    }

    public void setLogoInfoEntity(LogoInfoEntity logoInfoEntity) {
        this.logoInfoEntity = logoInfoEntity;
    }

    public ClientInfoEntity getClientInfoEntity() {
        return clientInfoEntity;
    }

    public void setClientInfoEntity(ClientInfoEntity clientInfoEntity) {
        this.clientInfoEntity = clientInfoEntity;
    }

    public LoanInfoEntity getLoanInfoEntity() {
        return loanInfoEntity;
    }

    public void setLoanInfoEntity(LoanInfoEntity loanInfoEntity) {
        this.loanInfoEntity = loanInfoEntity;
    }

    public EnsureInfoEntity getEnsureInfoEntity() {
        return ensureInfoEntity;
    }

    public void setEnsureInfoEntity(EnsureInfoEntity ensureInfoEntity) {
        this.ensureInfoEntity = ensureInfoEntity;
    }

    public TaxInfoEntity getTaxInfoEntity() {
        return taxInfoEntity;
    }

    public void setTaxInfoEntity(TaxInfoEntity taxInfoEntity) {
        this.taxInfoEntity = taxInfoEntity;
    }

    public HttpResultEntity.DataBean getResultInfoEntity() {
        return resultInfoEntity;
    }

    public void setResultInfoEntity(HttpResultEntity.DataBean resultInfoEntity) {
        this.resultInfoEntity = resultInfoEntity;
    }

    public LoanCalculateInfoEntity() {
    }

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeParcelable(this.logoInfoEntity, flags);
        dest.writeParcelable(this.clientInfoEntity, flags);
        dest.writeParcelable(this.loanInfoEntity, flags);
        dest.writeParcelable(this.ensureInfoEntity, flags);
        dest.writeParcelable(this.taxInfoEntity, flags);
        dest.writeParcelable(this.resultInfoEntity, flags);
        dest.writeParcelable(this.promiseApplyEntity, flags);
        dest.writeList(this.processList);
        dest.writeString(this.backReason);
    }

    protected LoanCalculateInfoEntity(Parcel in) {
        this.logoInfoEntity = in.readParcelable(LogoInfoEntity.class.getClassLoader());
        this.clientInfoEntity = in.readParcelable(ClientInfoEntity.class.getClassLoader());
        this.loanInfoEntity = in.readParcelable(LoanInfoEntity.class.getClassLoader());
        this.ensureInfoEntity = in.readParcelable(EnsureInfoEntity.class.getClassLoader());
        this.taxInfoEntity = in.readParcelable(TaxInfoEntity.class.getClassLoader());
        this.resultInfoEntity = in.readParcelable(HttpResultEntity.DataBean.class.getClassLoader());
        this.promiseApplyEntity = in.readParcelable(PromiseApplyEntity.class.getClassLoader());
        this.processList = new ArrayList<ProcessEntity>();
        in.readList(this.processList, ProcessEntity.class.getClassLoader());
        this.backReason = in.readString();
    }

    public static final Creator<LoanCalculateInfoEntity> CREATOR = new Creator<LoanCalculateInfoEntity>() {
        @Override
        public LoanCalculateInfoEntity createFromParcel(Parcel source) {
            return new LoanCalculateInfoEntity(source);
        }

        @Override
        public LoanCalculateInfoEntity[] newArray(int size) {
            return new LoanCalculateInfoEntity[size];
        }
    };
}
